package org.yaonan.bean;

/**
 * 分页查询步骤：
 * 
 * 拷入并配置拦截器
 * 
 * dao中方法名以ByPage结尾
 * 
 * 传给dao中方法的参数Bean继承BaseBean
 * 
 * SQL语句按照查询全部书写（只根据参数Bean中条件查询，不写limit）
 * 
 * controller参数：前台输入的查询条件（默认值""）、当前页数（默认值1，点搜索传1，点翻页传任意）
 * 
 * controller方法中：获取其他需要的查询条件、配置文件中每页条数
 * 
 * 查询条件、当前页数、每页条数，存入参数Bean，传至dao层
 * 
 * 完成查询存入model：
 * 返回的查询结果list（已是分页的）
 * 前台传入的查询条件
 * 参数Bean中返回的总页数
 * 参数Bean中返回的当前页数（传入的当前页数小于0或大于总页数时，参数Bean中返回1和最大页数）
 */
public class Page {
	
	// 总条数
	private int totalNumber;
	// 当前页数--传入、返回（传入值超出页数范围时，自动设为1或最大页数并返回）
	private int currentPage;
	// 总页数--返回
	private int totalPage;
	// 每页显示条数--传入（固定值）
	private int pageNumber;
	
	public Page() {
	    this.currentPage = 1;
	    this.pageNumber = 5;
	}

	public int getTotalNumber() {
		return totalNumber;
	}
	
	private void count() {
		this.totalPage = this.totalNumber / this.pageNumber;
		if(this.totalNumber % this.pageNumber > 0) {
			this.totalPage++;
		}
		if(this.totalPage <= 0) {
			this.totalPage = 1;
		}
		if(this.currentPage > this.totalPage) {
			this.currentPage = this.totalPage;
		}
		if(this.currentPage <= 0) {
			this.currentPage = 1;
		}
	}
	
	public void setTotalNumber(int totalNumber) {
		this.totalNumber = totalNumber;
		this.count();
	}
	
	public int getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}
	public int getTotalPage() {
		
		return totalPage;
	}
	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
	public int getPageNumber() {
		return pageNumber;
	}
	public void setPageNumber(int pageNumber) {
		this.pageNumber = pageNumber;
	}
}